/**
 * 
 */
package com.efast.dmom.mes.entity;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.efast.dmom.mes.entity.base.RuntimeBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;

/**
 * @author Aaron Liu
 *
 * 2020年3月30日
 */
public class WorkOrderItemEntity extends RuntimeBaseEntity {

	private static final long serialVersionUID = 3383456628283013644L;
	
	private long id = 0;
	private String bomName = null;
	private String bomRevison = null;
	private long orderKey = 0;
	private String orderItemName = null;
	private short orderItemStatus = -1;
	private String partNumber = null;
	private String partRevision = null;
	private long routeId = 0;
	private short traceType = -1;
	private long prodLineId = 0;
	private BigDecimal quantityClosed = null;
	private BigDecimal quantityFinished = null;
	private BigDecimal quantityInProgress = null;
	private BigDecimal quantityOrdered = null;
	private String ea0;
	private String ea1;
	private String ea2;
	private String ea3;
	private String ea4;
	
	@JsonDeserialize(using = LocalDateTimeDeserializer.class)
	@JsonSerialize(using = LocalDateTimeSerializer.class)
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime planedStartTime = null;
	
	@JsonDeserialize(using = LocalDateTimeDeserializer.class)
	@JsonSerialize(using = LocalDateTimeSerializer.class)
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime planedEndTime = null;
	
	@JsonDeserialize(using = LocalDateTimeDeserializer.class)
	@JsonSerialize(using = LocalDateTimeSerializer.class)
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime scheduledStartTime = null;
	
	@JsonDeserialize(using = LocalDateTimeDeserializer.class)
	@JsonSerialize(using = LocalDateTimeSerializer.class)
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime scheduledEndTime = null;

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getBomName() {
		return bomName;
	}

	public void setBomName(String bomName) {
		this.bomName = bomName;
	}

	public String getBomRevison() {
		return bomRevison;
	}

	public void setBomRevison(String bomRevison) {
		this.bomRevison = bomRevison;
	}

	public short getTraceType() {
		return traceType;
	}

	public void setTraceType(short traceType) {
		this.traceType = traceType;
	}

	public long getOrderKey() {
		return orderKey;
	}

	public void setOrderKey(long orderKey) {
		this.orderKey = orderKey;
	}

	public String getOrderItemName() {
		return orderItemName;
	}

	public void setOrderItemName(String orderItemName) {
		this.orderItemName = orderItemName;
	}

	public short getOrderItemStatus() {
		return orderItemStatus;
	}

	public void setOrderItemStatus(short orderItemStatus) {
		this.orderItemStatus = orderItemStatus;
	}

	public String getPartNumber() {
		return partNumber;
	}

	public void setPartNumber(String partNumber) {
		this.partNumber = partNumber;
	}

	public String getPartRevision() {
		return partRevision;
	}

	public void setPartRevision(String partRevision) {
		this.partRevision = partRevision;
	}

	public long getRouteId() {
		return routeId;
	}

	public void setRouteId(long routeId) {
		this.routeId = routeId;
	}

	public long getProdLineId() {
		return prodLineId;
	}

	public void setProdLineId(long prodLineId) {
		this.prodLineId = prodLineId;
	}

	public BigDecimal getQuantityClosed() {
		return quantityClosed;
	}

	public void setQuantityClosed(BigDecimal quantityClosed) {
		this.quantityClosed = quantityClosed;
	}

	public BigDecimal getQuantityFinished() {
		return quantityFinished;
	}

	public void setQuantityFinished(BigDecimal quantityFinished) {
		this.quantityFinished = quantityFinished;
	}

	public BigDecimal getQuantityInProgress() {
		return quantityInProgress;
	}

	public void setQuantityInProgress(BigDecimal quantityInProgress) {
		this.quantityInProgress = quantityInProgress;
	}

	public BigDecimal getQuantityOrdered() {
		return quantityOrdered;
	}

	public void setQuantityOrdered(BigDecimal quantityOrdered) {
		this.quantityOrdered = quantityOrdered;
	}

	public String getEa0() {
		return ea0;
	}

	public void setEa0(String ea0) {
		this.ea0 = ea0;
	}

	public String getEa1() {
		return ea1;
	}

	public void setEa1(String ea1) {
		this.ea1 = ea1;
	}

	public String getEa2() {
		return ea2;
	}

	public void setEa2(String ea2) {
		this.ea2 = ea2;
	}

	public String getEa3() {
		return ea3;
	}

	public void setEa3(String ea3) {
		this.ea3 = ea3;
	}

	public String getEa4() {
		return ea4;
	}

	public void setEa4(String ea4) {
		this.ea4 = ea4;
	}

	public LocalDateTime getPlanedStartTime() {
		return planedStartTime;
	}

	public void setPlanedStartTime(LocalDateTime planedStartTime) {
		this.planedStartTime = planedStartTime;
	}

	public LocalDateTime getPlanedEndTime() {
		return planedEndTime;
	}

	public void setPlanedEndTime(LocalDateTime planedEndTime) {
		this.planedEndTime = planedEndTime;
	}

	public LocalDateTime getScheduledStartTime() {
		return scheduledStartTime;
	}

	public void setScheduledStartTime(LocalDateTime scheduledStartTime) {
		this.scheduledStartTime = scheduledStartTime;
	}

	public LocalDateTime getScheduledEndTime() {
		return scheduledEndTime;
	}

	public void setScheduledEndTime(LocalDateTime scheduledEndTime) {
		this.scheduledEndTime = scheduledEndTime;
	}
	
}
